-
Notifications
You must be signed in to change notification settings - Fork 598
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(types): support ns timestamp #19827
Conversation
sorry, mis clicked update branch |
cc @xiangjinwu PTAL❤️ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Could you also include the testing SQLs you have tried?
- Is any caller of
to_protobuf
/from_protobuf
assuming thatTimestamp
would be fixed 64-bit? This assumption is no longer true.
) | ||
} | ||
let dt = s | ||
.parse::<jiff::civil::DateTime>() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need to introduce yet another dependency in addition to chrono
and speedate
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because chrono can't be parsed, and speedate is only parsed at the us level
src/storage/hummock_sdk/src/compaction_group/hummock_version_ext.rs
Outdated
Show resolved
Hide resolved
added in ci |
src/storage/hummock_sdk/src/compaction_group/hummock_version_ext.rs
Outdated
Show resolved
Hide resolved
Btw you can fix the e2e test with https://www.sqlite.org/sqllogictest/doc/trunk/about.wiki
|
26d9664
to
6b8af32
Compare
FYI regarding your latest e2e failure, it is actually a bug in our existing
Given it is out of scope of this PR, let's just replace the case with one without |
6b8af32
to
2c87c76
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly looks good to me. Just more to test:
distinct
/group by
/order by
/max
extract
withepoch
/second
/milliseconds
/microseconds
make_timestamp
} | ||
let dt = s | ||
.parse::<jiff::civil::DateTime>() | ||
.map_err(|_| ErrorKind::ParseTimestamp)?; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Error message of ParseTimestamp
shall be updated from up to 6 digits to up to 9 digits.
Thanks for the efforts. I will doing some testing on sink side later. |
Answering my own question: there is but it is only used as a hint - so okay to be inaccurate.
risingwave/src/common/src/array/primitive_array.rs Lines 232 to 236 in 05397f9
risingwave/src/common/src/array/proto_reader.rs Lines 69 to 76 in 05397f9
|
fix comm fix ci
2a866bb
to
a3cb6da
Compare
72a5ad9
to
12fb1f0
Compare
8a5496d
to
758cda7
Compare
Co-authored-by: congyi wang <[email protected]>
Co-authored-by: Xinhao Xu <[email protected]> Co-authored-by: congyi wang <[email protected]>
Co-authored-by: congyi wang <[email protected]>
Nice useful feature for trading use cases |
I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
our timestamp only support ms, But our internal implementation is capable of ns, it's just that we automatically convert it to ms when we read it in, and this pr can read ns to support ns.
Checklist
Documentation
Release note